home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-07-27 | 12.9 KB | 344 lines |
- 10 REM
- 20 REM ***** LISTUSER.BAS *****
- 30 REM
- 40 REM COPYRIGHT 1986, BETTER SYSTEMS DESIGN,
- 50 REM INDIAN HILLS COMMUNITY COLLEGE
- 60 REM ALL RIGHTS RESERVED
- 70 REM
- 80 REM THIS PROGRAM LISTS NOVELL USERS AND THERE IDENTIFICATION
- 100 REM
- 110 REM SET UP THE NETWARE CALLS
- 120 REM
- 130 GOSUB 10000
- 200 REM
- 210 REM SET THE CONSTANTS
- 220 REM
- 230 FIRSTTRY$ = CHR$(&HFF) + CHR$(&HFF) + CHR$(&HFF) + CHR$(&HFF)
- 240 EOP = 99
- 250 PAGE.NUMBER = 0
- 260 USER.NUMBER = 0
- 300 REM
- 310 REM CHOOSE WHETHER YOU WANT THE OUTPUT TO GO TO THE SCREEN OR PRINTER
- 320 REM
- 330 CLS
- 340 PRINT "DO YOU WANT YOUR REPORT TO GO TO THE"
- 341 PRINT
- 342 PRINT " SCREEN (S)"
- 344 PRINT " PRINTER (P)"
- 347 PRINT " QUIT (Q)"
- 348 PRINT
- 349 PRINT "PLEASE ENTER YOUR CHOICE (S/P/Q) - "
- 350 LOCATE 7,36
- 360 X$ = INKEY$
- 370 PRINT X$
- 375 IF X$ = "Q" THEN CLS : SYSTEM
- 376 IF X$ = "q" THEN CLS : SYSTEM
- 380 IF X$ = "S" THEN 500
- 390 IF X$ = "s" THEN X$ = "S" : GOTO 500
- 400 IF X$ = "P" THEN 500
- 410 IF X$ = "p" THEN X$ = "P" : GOTO 500
- 415 GOTO 350
- 500 REM
- 510 REM START OF THE MAIN PROGRAM
- 520 REM
- 530 REM NOW SET UP AND START POLLING THE BINDERY FOR DATA
- 540 REM
- 550 REM USERS
- 560 LASTOBJECTID$ = FIRSTTRY$
- 570 RETURNCODE% = 0
- 580 PATTERNTYPEHI$ = CHR$(0)
- 590 PATTERNTYPELO$ = CHR$(1)
- 600 GOSUB 20000
- 9000 CLS
- 9999 SYSTEM
- 10000 REM
- 10010 REM ROUTINES FOR NETWORK USE
- 10020 REM
- 10030 REM THIS SECTION CONTAINS THE ROUTINE NAMES AND
- 10040 REM OFFSETS FOR THE BASNET LIBRARY
- 10050 REM THE RETURN IS AFTER EVERYTHING IS SET UP FOR NETWARE CALLS
- 10060 XTNDOPN = 0 'xtndopn(Mode%, Filename$, Handle%, ErrCode%)
- 10070 SETATTR = 3 'setattr(Func%, Filename$, Attribute%, ErrCode%)
- 10080 EOJSTAT = 6 'eojstat(Flag%)
- 10090 PRLH.LOG = 9 'PRLH.Log(FileHandle%,HiByteOffset%,LoByteOffset%,HiLockLen%,LoLockLen%,Flags%,TimeOut%,ErrCode%)
- 10100 PRLH.REL = 12 'PRLH.Rel(FileHandle%,HiByteOffset%,LoByteOffset%,ErrCode%)
- 10110 PRLH.CLR = 15 'PRLH.Clr(FileHandle%,HiByteOffset%,LoByteOffset%,Errcode%)
- 10120 PRLF.LOG = 18 'PRLF.Log(fcb%,HiByteOffset%,LoByteOffset%,HiLockLen%,LoLockLen%,Flags%,TimeOut%,ErrCode%)
- 10130 PRLF.REL = 21 'PRLF.Rel(fcb%,HiByteOffset%,LoByteOffset%,ErrCode%)
- 10140 PRLF.CLR = 24 'PRLF.Clr(fcb%,HiByteOffset%,LoByteOffset%,ErrCode%)
- 10150 PRLS.LCK = 27 'PRLS.Lck(Flags%,TimeOut%,ErrCode%)
- 10160 PRLS.REL = 30 'PRLS.Rel(ErrCode%)
- 10170 PRLS.CLR = 33 'PRLS.Clr(ErrCode%)
- 10180 OPENSEM = 36 'OpenSem(Sema4$,SemaValu%,HiHandle%,LoHandle%,OpenCnt%,RetCode%)
- 10190 EXAMSEM = 39 'ExamSem(HiHandle%,LoHandle%,SemaValu%,OpenCnt%,RetCode%)
- 10200 WAITSEM = 42 'WaitSem(HiHandle%,LoHandle%,TimeOut%,RetCode%)
- 10210 SIGSEM = 45 'SigSem(HiHandle%,LoHandle%,RetCode%)
- 10220 CLOSSEM = 48 'ClosSem(HiHandle%,LoHandle%,RetCode%)
- 10230 SETLCK = 51 'setlck(Func%,Mode%)
- 10240 BAKOUTS = 54 'Bakouts(Func%,RetCode%)
- 10250 BTRANS = 57 'btran(ReturnCode%, Mode%)
- 10260 ETRANS = 60 'etrans(ReturnCode%)
- 10270 EXCLOG = 63 'exclog(ReturnCode%, FcbAddr)
- 10280 EXCLCKS = 66 'exclcks(ReturnCode%, Mode%)
- 10290 EXCULKF = 69 'exculkf(ReturnCode%, FcbAddr)
- 10300 EXCULKS = 72 'exculks(ReturnCode%)
- 10310 EXCCLRF = 75 'excclrf(ReturnCode%, FcbAddr)
- 10320 EXCCLRS = 78 'excclrs(ReturnCode%)
- 10330 RECLOG = 81 'reclog(ReturnCode%, String$)
- 10340 RECLCK = 84 'reclck(ReturnCode%, Mode%)
- 10350 RECULK = 87 'reculk(ReturnCode%, Semaphore$)
- 10360 RECULKS = 90 'reculks(ReturnCode%)
- 10370 RECCLR = 93 'recclr(ReturnCode%, Semaphore$)
- 10380 RECCLRS = 96 'recclrs(ReturnCode%)
- 10390 EOJ = 99 'eoj(ReturnCode%)
- 10400 SYSOUT = 102 'sysout(ReturnCode%)
- 10410 ALLOCR = 105 'allocr(ReturnCode%, Resource%)
- 10420 DALLOCR = 108 'dallocr(ReturnCode%, Resource%)
- 10430 VOLSTAT = 111 'volstat(volume%, reply$)
- 10440 LOCDRV = 114 'locdrv(NumDisks%)
- 10450 WSID = 117 'wsid(ThisStationNum%)
- 10460 ERRMODE = 120 'errmode(mode%)
- 10470 BCSMODE = 123 'bcsmode(mode%)
- 10480 CTLSPL = 126 'ctlspl(mode%)
- 10490 SPLREQ = 129 'splreq(ErrCode%, RequestBlock$, Reply$)
- 10500 PIPREQ = 132 'pipreq(ErrCode%, RequestBlock$, Reply$)
- 10510 DPATH = 135 'dpath(ReturnCode%, RequestBlock$, Reply$)
- 10520 SYSLOG = 138 'syslog(ReturnCode%, RequestBlock$, Reply$)
- 10530 FATTR = 141 'fattr(ReturnCode%, FcbAddr, Attribute%)
- 10540 UPDFCB = 144 'updfcb(RetCode%,FcbAddr)
- 10550 CPYFILE = 147 'cpyfile(ReturnCode%, FcbSource, FcbDest, CountLow, CountHigh)
- 10560 NETTOD = 150 'nettod(time$)
- 10570 CLSMODE = 153 'clsmode(mode%)
- 10580 DRVMAP = 156 'drvmap(ReturnFlags%, drive%)
- 10590 RETSHL = 159 'retshl(RetCode%, Mode%)
- 10600 ASCLOG = 162 'asclog(RetCode%, Asciiz$)
- 10610 ASCULKF = 165 'asculkf(RetCode%, Asciiz$)
- 10620 ASCCLRF = 168 'ascclrf(RetCode%, Asciiz$)
- 10630 GETPSN = 171 'Get_PSN(StationNo%)
- 10640 GETSTA = 174 'Get_STA(Mode%,Segment%,Offset%)
- 10650 SETSERV = 177 'SetServ(Mode%,NewServ%,CurrServ%)
- 10660 MODSERV = 180 'ModServ(Mode%,NewServ%,RetCode%)
- 10670 REM
- 10680 REM ASSIGN THE SEGMENT ADDRESS FOR THE LIBRARY TO THE VARIABLE LIBSEG
- 10690 REM
- 10700 DEF SEG = 0
- 10710 SUBOFF = PEEK(&H4F0)+(256*PEEK(&H4F1))
- 10720 SUBSEG = PEEK(&H4F2)+(256*PEEK(&H4F3))
- 10730 LIBSEG = SUBSEG
- 10740 DEF SEG
- 10750 REM
- 10760 REM SET THE ERROR MODE SO ITS MORE INFORMATIVE
- 10770 REM
- 10780 DEF SEG = LIBSEG
- 10790 NEWMODE% = 1
- 10800 CALL ERRMODE(NEWMODE%)
- 10810 DEF SEG
- 10820 REM
- 10999 RETURN
- 12000 REM
- 12010 REM DETERMINE THE USERS ACCESS LEVEL
- 12020 REM
- 12030 REM ENTER WITH - LIBSEG
- 12040 REM USES (WITHOUT ALTERING) - LIBSEG
- 12050 REM CHANGES - REQPACLENHI$, REQPACLENLO$, FUNC$, RETURNCODE%, ACCESSREQ$,
- 12060 REM ACCESSBYTE$, ACCESSREPLY$, RDRIGHTS$, WRTRIGHTS$
- 12070 REQPACLENLO$ = CHR$(1)
- 12080 REQPACLENHI$ = CHR$(0)
- 12090 FUNC$ = CHR$(70)
- 12100 ACCESSREQ$ = REQPACLENLO$ + REQPACLENHI$ + FUNC$
- 12110 ACCESSREPLY$ = CHR$(5)+CHR$(0)+STRING$(5,"x")
- 12120 RETURNCODE% = 0
- 12130 DEF SEG = LIBSEG
- 12140 CALL SYSLOG(RETURNCODE%,ACCESSREQ$,ACCESSREPLY$)
- 12150 DEF SEG
- 12160 IF RETURNCODE% <> 0 THEN PRINT "Request Error, Aborting": END
- 12170 ACCESSBYTE$ = MID$(ACCESSREPLY$,3,1)
- 12180 IF ACCESSBYTE$ = CHR$(0) THEN RDRIGHTS$ = "Free" : WRTRIGHTS$ = "Free"
- 12190 IF ACCESSBYTE$ = CHR$(1) THEN RDRIGHTS$ = "Logged" : WRTRIGHTS$ = "Free"
- 12200 IF ACCESSBYTE$ = CHR$(2) THEN RDRIGHTS$ = "Mine" : WRTRIGHTS$ = "Free"
- 12210 IF ACCESSBYTE$ = CHR$(3) THEN RDRIGHTS$ = "Supervisor" : WRTRIGHTS$ = "Free"
- 12220 IF ACCESSBYTE$ = CHR$(16) THEN RDRIGHTS$ = "Free" : WRTRIGHTS$ = "Logged"
- 12230 IF ACCESSBYTE$ = CHR$(17) THEN RDRIGHTS$ = "Logged" : WRTRIGHTS$ = "Logged"
- 12240 IF ACCESSBYTE$ = CHR$(18) THEN RDRIGHTS$ = "Mine" : WRTRIGHTS$ = "Logged"
- 12250 IF ACCESSBYTE$ = CHR$(19) THEN RDRIGHTS$ = "Supervisor" : WRTRIGHT$ = "Logged"
- 12260 IF ACCESSBYTE$ = CHR$(32) THEN RDRIGHTS$ = "Free" : WRTRIGHTS$ = "Mine"
- 12270 IF ACCESSBYTE$ = CHR$(33) THEN RDRIGHTS$ = "Logged" : WRTRIGHTS$ = "Mine"
- 12280 IF ACCESSBYTE$ = CHR$(34) THEN RDRIGHTS$ = "Mine" : WRTRIGHTS$ = "Mine"
- 12290 IF ACCESSBYTE$ = CHR$(35) THEN RDRIGHTS$ = "Supervisor" : WRTRIGHTS$ = "Mine"
- 12300 IF ACCESSBYTE$ = CHR$(48) THEN RDRIGHTS$ = "Free" : WRTRIGHTS$ = "Supervisor"
- 12310 IF ACCESSBYTE$ = CHR$(49) THEN RDRIGHTS$ = "Logged" : WRTRIGHTS$ = "Supervisor"
- 12320 IF ACCESSBYTE$ = CHR$(50) THEN RDRIGHTS$ = "Mine" : WRTRIGHTS$ = "Supervisor"
- 12330 IF ACCESSBYTE$ = CHR$(51) THEN RDRIGHTS$ = "Supervisor" : WRTRIGHTS$ = "Supervisor"
- 12999 RETURN
- 14000 REM
- 14010 REM SET UP THE REQUEST PACKET TO SCAN FOR OBJECTS OF THE CHOSEN TYPE
- 14020 REM
- 14030 REM WHEN CALLING THIS ROUTINE REMEMBER TO SET THE LASTOBJECTSEEN$
- 14040 REM (4 BYTES) TO -1 INITIALLY AND THEREAFTER EQUAL TO THE UNIQUEOBJECTID$
- 14050 REM
- 14060 REM ENTER WITH - PATTERNTYPEHI$, PATTERNTYPELO$, LASTOBJECTID$, LIBSEG
- 14070 REM USES (BUT DOES NOT ALTER) - PATTERNTYPEHI$, PATTERNTYPELO$, LASTOBJECTSEEN$, LIBSEG
- 14080 REM CHANGES - REQPACLENHI$, REQPACLENLO$, FUNC$, REPPACLENHI$, REPPACLO$,
- 14090 REM OBJREPLY$, OBJREQUEST$, PATTERNLEN$, PATTERN$
- 14100 REQPACLENHI$ = CHR$(0)
- 14110 REQPACLENLO$ = CHR$(9)
- 14120 FUNC$ = CHR$(55) 'scan for objects subfunction
- 14130 PATTERNLEN$ = CHR$(1)
- 14140 PATTERN$ = "*"
- 14150 OBJREQ$ = REQPACLENLO$ + REQPACLENHI$ + FUNC$ + LASTOBJECTID$ + PATTERNTYPEHI$ + PATTERNTYPELO$ + PATTERNLEN$ + PATTERN$
- 14160 REM SET UP THE REPLY BUFFER
- 14170 REPPACLENHI$ = CHR$(0)
- 14180 REPPACLENLO$ = CHR$(57)
- 14190 OBJREPLY$ = REPPACLENLO$ + REPPACLENHI$ + STRING$((ASC(REPPACLENHI$)*256) + ASC(REPPACLENLO$),"x")
- 14200 REM
- 14210 REM MAKE THE BINDERY REQUEST
- 14220 REM
- 14230 DEF SEG = LIBSEG
- 14240 CALL SYSLOG(RETURNCODE%,OBJREQ$,OBJREPLY$)
- 14250 DEF SEG
- 14999 RETURN
- 16000 REM
- 16010 REM THIS ROUTINE STRIPS THE NULLS OFF THE RIGHT SIDE OF A STRING
- 16020 REM - ENTER WITH THE STRING TO BE STRIPPED AS INCOMING$
- 16030 REM THE PROCESSED STRING WILL BE RETURNED AS OUTGOING$
- 16040 REM
- 16050 REM ENTER WITH - INCOMING$
- 16060 REM USES (WITHOUT ALTERING) - INCOMING$
- 16070 REM CHANGES - CHECKCHAR$, I, OUTGOING$
- 16080 REM
- 16090 OUTGOING$ = ""
- 16100 I = 0
- 16110 CHECKCHAR$ = CHR$(1)
- 16120 WHILE CHECKCHAR$ <> CHR$(0)
- 16130 I=I+1
- 16140 CHECKCHAR$=MID$(INCOMING$,I,1)
- 16150 IF CHECKCHAR$ <> CHR$(0) THEN OUTGOING$ = OUTGOING$ + CHECKCHAR$
- 16160 WEND
- 16999 RETURN
- 18000 REM
- 18010 REM SET UP THE REQUEST PACKET TO SCAN FOR PROPERTIES
- 18020 REM
- 18030 REM WHEN CALLING THIS ROUTINE REMEMBER TO SET THE LASTINSTANCE$
- 18040 REM (4 BYTES) TO -1 INITIALLY AND THEREAFTER EQUAL TO THE SEARCHINSTANCE$
- 18050 REM
- 18060 REM ENTER WITH - OBJECTTYPE$, OBJNAME$, LASTINSTANCE$, LIBSEG
- 18070 REM USES (BUT DOES NOT ALTER) - PATTERNTYPEHI$, LOPATTERNTYPELO$, LASTOBJECTSEEN$, LIBSEG
- 18080 REM CHANGES - REQPACLENHI$, REQPACLENLO$, FUNC$, REPPACLENHI$, REPPACLO$,
- 18090 REM OBJREPLY$, OBJREQUEST$, PATTERNLEN$, PATTERN$
- 18100 FUNC$ = CHR$(60) 'scan for properties subfunction
- 18110 SEARCHPROPNAMELEN$ = CHR$(14)
- 18120 SEARCHPROPNAME$ = "IDENTIFICATION"
- 18130 OBJNAMELEN$ = CHR$(LEN(OBJNAME$))
- 18140 REQPACLENHI$ = CHR$(0)
- 18150 REQPACLENLO$ = CHR$(LEN(FUNC$)+ LEN(OBJTYPE$)+ LEN(OBJNAMELEN$)+ LEN(OBJNAME$)+ LEN(LASTINSTANCE$)+ LEN(SEARCHPROPNAMELEN$)+ LEN(SEARCHPROPNAME$))
- 18160 PROPREQ$ = REQPACLENLO$ + REQPACLENHI$ + FUNC$ + OBJTYPE$ + OBJNAMELEN$ + OBJNAME$ + LASTINSTANCE$ + SEARCHPROPNAMELEN$ + SEARCHPROPNAME$
- 18170 REM SET UP THE REPLY BUFFER]
- 18180 REPPACLENHI$ = CHR$(0)
- 18190 REPPACLENLO$ = CHR$(26)
- 18200 PROPREPLY$ = REPPACLENLO$ + REPPACLENHI$ + STRING$((ASC(REPPACLENHI$)*256) + ASC(REPPACLENLO$),CHR$(0))
- 18210 REM MAKE THE BINDERY REQUEST
- 18220 DEF SEG = LIBSEG
- 18230 CALL SYSLOG(PROPRETCODE%,PROPREQ$,PROPREPLY$)
- 18240 DEF SEG
- 18999 RETURN
- 20000 REM
- 20010 REM GET AND DISPLAY THE OBJECTS AND PROPERTIES
- 20020 REM
- 20030 REM ENTER WITH -
- 20040 REM USES (WITHOUT ALTERING) -
- 20050 REM CHANGES -
- 20060 REM
- 20070 WHILE RETURNCODE% <> 252
- 20080 IF EOP = 99 THEN GOSUB 40000
- 20085 IF X$ = "P" OR X$ = "D" THEN USER.NUMBER = USER.NUMBER + 1 : LOCATE 14,39 : PRINT USER.NUMBER : GOTO 20097
- 20090 IF EOP > 19 THEN PRINT : INPUT "Press ENTER to see next page";Z$ : GOSUB 40000
- 20095 GOTO 20100
- 20097 IF EOP > 54 THEN GOSUB 40000
- 20100 GOSUB 14000
- 20105 IF X$ = "P" THEN 20117
- 20110 IF RETURNCODE% <> 252 THEN PRINT MID$(OBJREPLY$,9,20); ELSE OBJREPLY$ = STRING$(60,CHR$(0))
- 20115 GOTO 20120
- 20117 IF RETURNCODE% <> 252 THEN LPRINT MID$(OBJREPLY$,9,20); ELSE OBJREPLY$ = STRING$(60,CHR$(0))
- 20120 LASTOBJECTID$ = MID$(OBJREPLY$,3,4)
- 20130 PROPERTIES$ = MID$(OBJREPLY$,59,1)
- 20140 IF PROPERTIES$ <> CHR$(0) THEN OBJTYPE$ = MID$(OBJREPLY$,7,2): INCOMING$ = MID$(OBJREPLY$,9,48): GOSUB 16000: OBJNAMELEN$ = CHR$(LEN(OUTGOING$)): OBJNAME$ = OUTGOING$: LASTINSTANCE$ = FIRSTTRY$: PROPRETCODE% = 0
- 20150 TESTFLAG = 0
- 20160 WHILE PROPRETCODE% <> 251
- 20170 GOSUB 18000
- 20180 GOSUB 30000
- 20190 GOSUB 32000
- 20200 GOSUB 34000
- 20210 IF MID$(PROPREPLY$,3,14) <> "IDENTIFICATION" THEN 20240
- 20215 IF X$ = "P" THEN 20227
- 20220 IF PROPRETCODE% <> 251 THEN PRINT TAB(25) MID$(RETURN.FORMAT$,3,48) ELSE PROPREPLY$ = STRING$(26,CHR$(0))
- 20225 GOTO 20230
- 20227 IF PROPRETCODE% <> 251 THEN LPRINT TAB(25) MID$(RETURN.FORMAT$,3,48) ELSE PROPREPLY$ = STRING$(26,CHR$(0))
- 20230 TESTFLAG = 1
- 20240 LASTINSTANCE$ = MID$(PROPREPLY$,21,4)
- 20250 WEND
- 20255 IF X$ = "P" THEN 20267
- 20260 IF TESTFLAG = 0 THEN PRINT
- 20265 GOTO 20270
- 20267 IF TESTFLAG = 0 THEN LPRINT
- 20270 EOP=EOP + 1
- 20280 WEND
- 20999 RETURN
- 30000 REM
- 30010 REM BUILD PACKET FORMAT
- 30020 REM
- 30030 FUNCTION$ = CHR$(61)
- 30040 OBJECT.TYPE.HI$ = CHR$(0)
- 30050 OBJECT.TYPE.LO$ = CHR$(1)
- 30060 OBJECT.TYPE$ = OBJECT.TYPE.HI$ + OBJECT.TYPE.LO$
- 30070 TEST.NAME$ = STRING$(48," ")
- 30080 FOR I = 1 TO 48
- 30090 IF MID$(OBJREPLY$,8+I,1) = " " THEN GOTO 30130
- 30100 MID$(TEST.NAME$,I,1) = MID$(OBJREPLY$,8+I,1)
- 30110 NEXT I
- 30120 OBJECT.NAME$ = LEFT$(TEST.NAME$,I)
- 30130 OBJECT.NAME.LENGTH$ = CHR$(LEN(OBJECT.NAME$))
- 30140 SEGMENT.NUMBER$ = CHR$(1)
- 30150 PROPERTY.NAME$ = "IDENTIFICATION"
- 30160 PROPERTY.NAME.LENGTH$ = CHR$(LEN(PROPERTY.NAME$))
- 30170 PACKET.LENGTH.HI$ = CHR$(0)
- 30180 PACKET.LENGTH.LO$ = CHR$(LEN(FUNCTION$) + LEN(OBJECT.TYPE$) + LEN(OBJECT.NAME.LENGTH$) + LEN(OBJECT.NAME$) + LEN(SEGMENT.NUMBER$) + LEN(PROPERTY.NAME.LENGTH$) + LEN(PROPERTY.NAME$))
- 30190 PACKET.FORMAT$ = PACKET.LENGTH.LO$ + PACKET.LENGTH.HI$ + FUNCTION$ + OBJECT.TYPE$ + OBJECT.NAME.LENGTH$ + OBJECT.NAME$ + SEGMENT.NUMBER$ + PROPERTY.NAME.LENGTH$ + PROPERTY.NAME$
- 30999 RETURN
- 32000 REM
- 32010 REM BUILD RETURN FORMAT
- 32020 REM
- 32030 RETURN.LENGTH.HI$ = CHR$(0)
- 32040 RETURN.LENGTH.LO$ = CHR$(132)
- 32050 RETURN.FORMAT$ = RETURN.LENGTH.LO$ + RETURN.LENGTH.HI$ + STRING$((ASC(RETURN.LENGTH.HI$) * 256) + ASC(RETURN.LENGTH.LO$),"x")
- 32999 RETURN
- 34000 REM
- 34010 REM CALL READ A PROPERTY VALUE
- 34020 REM
- 34030 DEF SEG = LIBSEG
- 34040 RETURN.CODE% = 0
- 34050 CALL SYSLOG(RETURN.CODE%,PACKET.FORMAT$,RETURN.FORMAT$)
- 34060 DEF SEG
- 34999 RETURN
- 40000 REM
- 40010 REM PAGE OVERFLOW
- 40020 REM
- 40030 PAGE.NUMBER = PAGE.NUMBER + 1
- 40035 IF X$ = "P" OR X$ = "D" THEN 40200
- 40040 CLS
- 40050 PRINT "USER NUMBER USER NAME";
- 40060 PRINT TAB(70) "PAGE "; PAGE.NUMBER
- 40070 PRINT "=========== ========="
- 40080 PRINT
- 40090 GOTO 40600
- 40200 LOCATE 12,37
- 40210 PRINT "PRINTING"
- 40220 LPRINT CHR$(12)
- 40225 LPRINT DATE$; TAB(31); "NOVELL USER LISTING"; TAB(70); "PAGE "; PAGE.NUMBER
- 40226 LPRINT
- 40230 LPRINT "USER NUMBER USER NAME"
- 40250 LPRINT "=========== ========="
- 40260 LPRINT
- 40270 GOTO 40600
- 40600 EOP = 1
- 40999 RETURN
-